package com.chinairi.mall.dao;

import com.chinairi.mall.controller.viewobject.ContractMaintainGetVO;
import com.chinairi.mall.controller.viewobject.ContractMatAllVO;
import com.chinairi.mall.model.ContractMat;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinairi.mall.service.modelobject.ViewContractMatMO;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 合同_物料表 Mapper 接口
 * </p>
 *
 * @author Webgasd
 * @since 2020-09-06
 */
public interface ContractMatMapper extends BaseMapper<ContractMat> {
    /**
     * 批量插入合同下的物料
     * @param contractMatList
     */
    void batchInsert(@Param("contractMatList") List<ContractMat> contractMatList);

    /**
     * 获取物料列表
     * @param search
     * @return list
     */
    List<ViewContractMatMO> getList(@Param("search") ViewContractMatMO search);

    /**
     * 根据物料编码连表查询在有效期内的合同，并取出具有子表dbid的对象list。
     * @param code
     * @return
     */
    List<ContractMat> selectIdList(@Param("code") String code);

    /**
     * 根据dbid批量更新合同中包含此物料的所有物料子表记录的年度需求
     * @param list
     */
    void batchUpdate(@Param("list") List<ContractMat> list);

    /**
     * 根据物料编码，获取第二页的企业名称（乙方）对应的配额，价格。
     * @param code
     * @return
     */
    List<ContractMatAllVO> selectByMatAllBpList(@Param("code") String code);
}
